package com.topnav.mc.admin.utils;

import com.topnav.mc.admin.entity.SystemLog;
import com.topnav.mc.admin.service.ISystemLogService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import java.util.Date;

/**
 * 系统日志工具类,日志保存到数据里
 */
@Component
public class SystemLogUtil {
    @Autowired
    private ISystemLogService systemLogService;

    /**
     * 系统日志写入，一般只写提示和告警信息，错误日志在 @link GlobalExceptionHandler 自动写入
     * @param topic   1 采集站上报 2 存储服务器报， 3终端上报
     * @param keyWord 关键词，如文件名之类
     * @param Level  日志级别 1,错误，2警告，3提示
     * @param message 日志信息
     */
    public void saveLog(Integer topic, String keyWord, Integer Level,String message){
        SystemLog systemLog = new SystemLog();
        /** 采集站上报 */
        systemLog.setTopic(topic);
        systemLog.setKeyWord(keyWord);
        systemLog.setLogLevel(Level);
        if (message.length() > 254)
            systemLog.setMessage(message.substring(0, 254));
        else
            systemLog.setMessage(message);
        systemLog.setCreateTime(new Date());
        systemLog.setUpdateTime(new Date());
        systemLogService.save(systemLog);
    }
}
